using System;
using System.Collections.Generic;
using System.Text;

namespace DTO
{
    public class KHOA
    {
        private byte makhoa;
        private string tenkhoa;
        public byte Makhoa { get { return makhoa; } set { makhoa = value; } }
        public string Tenkhoa { get { return tenkhoa; } set { tenkhoa = value; } }
        private List<SINHVIEN> co;
        public List<SINHVIEN> Co
        {
            get
            {
                if (co == null) co = new List<SINHVIEN>();
                return co;
            }
            set
            {
                RemoveAllCo();
                if (value != null)
                {
                    foreach (SINHVIEN oSinhvien in value)
                        AddCo(oSinhvien);
                }
            }
        }

        public void AddCo(SINHVIEN newSinhvien)
        {
            if (newSinhvien == null)
                return;
            if (this.co == null)
                this.co = new List<SINHVIEN>();
            if (!this.co.Contains(newSinhvien))
            {
                this.co.Add(newSinhvien);
                newSinhvien.Thuoc = this;
            }
        }

        public void RemoveCo(SINHVIEN oldSinhvien)
        {
            if (oldSinhvien == null)
                return;
            if (this.co != null)
                if (this.co.Contains(oldSinhvien))
                {
                    this.co.Remove(oldSinhvien);
                    oldSinhvien.Thuoc = null;
                }
        }

        public void RemoveAllCo()
        {
            if (co != null)
            {
                System.Collections.ArrayList tmpCo = new System.Collections.ArrayList();
                foreach (SINHVIEN oldSinhvien in co)
                    tmpCo.Add(oldSinhvien);
                co.Clear();
                foreach (SINHVIEN oldSinhvien in tmpCo)
                    oldSinhvien.Thuoc = null;
                tmpCo.Clear();
            }
        }

    }
}
